package com.gagakuai.bpm.config.swagger;

import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;

@Configuration
public class SwaggerWebSecurityConfigurerAdapter extends WebSecurityConfigurerAdapter {

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http
        //允许跨域
        .cors().and().anonymous()
        // CSRF禁用，因为不使用session
        .and().csrf().disable()
        // 过滤请求
        .authorizeRequests()
//        // 对于登录login 验证码captchaImage 允许匿名访问
//        .antMatchers("/login").anonymous()
//                .antMatchers("/profile/*").anonymous()
//                .antMatchers("/common/download*").anonymous()
//                .antMatchers("/common/download/resource*").anonymous()
                .antMatchers("/swagger-ui.html").anonymous()
                .antMatchers("/swagger-resources/*").anonymous()
                .antMatchers("/webjars/*").anonymous()
                .antMatchers("/*/api-docs").anonymous()
//                .antMatchers("/druid/*").anonymous()
//        .antMatchers(
//                HttpMethod.GET,
//                String.valueOf(HttpMethod.POST),
//                "/camunda/*",
//                "/*.html",
//                "/*/*.html",
//                "/*/*.css",
//                "/*/*.js",
//                "/test"
//        ).permitAll()
                .anyRequest().permitAll();
    }
}
